///|
fn[T] llvm_unreachable(msg : String) -> T {
  println(msg)
  abort(msg)
}

///|
//fn unimplemented[T](msg : String) -> T {
//  println(msg)
//  abort(msg)
//}
